package com.feng.security.config;

/**
 * @author Feng
 * @since 2022/4/18 16:48
 */
public interface SecurityConst {

    /**
     * 验证码在Redis中保存的key前缀
     */
    String REDIS_CAPTCHA_KEY_PREFIX = "security:captcha:";

    /**
     * 验证码在Redis中保存的时长(单位: ms)
     */
    Long CAPTCHA_TTL = 2 * 60 * 1000L;

    /**
     * JWT 在 Redis 中保存的key前缀
     */
    String REDIS_JWT_KEY_PREFIX = "security:jwt:";

    /**
     * JWT 在 request 的 header 中的 key
     */
    String REQ_JWT_HEADER_KEY = "token";

    /**
     * 生成JWT中用于加密的密钥
     */
    String JWT_CREATE_SECRET = "feng123123";

    /**
     * 生成的JWT在Redis中保存的默认有效时长(单位: ms)
     */
    Long JWT_DEFAULT_TTL = 10 * 60 * 1000L;

    /**
     * “记住我”时生成的JWT在Redis中保存的有效时长(单位: ms)
     */
    Long JWT_REMEMBER_ME_TTL = 7 * 24 * 60 * 60 * 1000L;

    /**
     * 角色等级最小值（最高权限）
     */
    int ROLE_LEVEL_MIN_VALUE = 1;

    /**
     * 角色等级最大值（最低权限）
     */
    int ROLE_LEVEL_MAX_VALUE = 100;
}
